#include <gc_ilp_object.h>

gc_ilp_object* free_list;

gc_ilp_object* root_set;
int ront_set_size;


ILP_Object o= ILP_malloc(size); 
/* 
   ILP_Object res= NULL;
   free_lsit empty ? => false
   res= free_list;
   
   free_list= free_list->next;

   return res;
*/

/*

  dans GC_malloc(): ILP_Object b; grace a sa on recupere l'adresse la 
  plsu haute sur la pile find_root_set(ILP_Object* last_adr=b)

  tant que l'adrese de l'ILP_Courant est != de last_adr, on est pas sorti de 
  la pile => N'y at-il vraiment que des allocation d'ILP_Object sur la pile ?
  (valeur de retour d'un fonction stocké sur la pile ? Adresse des variables 
  locals? eventuellement autre chose (des flags ? $31?), est-ce que a depend
   de l'implem).
 */


/* 

init_root_finder();
while((root= find_next_root()) != NULL){

   mark sur root
}

 sweep sur le tas;
*/
